Method and apparatus for determining the relative positions of connectors

ABSTRACT

In an embodiment, a system includes a plurality of ports and a proximity detection circuit to detect the presence of a connector relative to at least one port of the plurality of ports, prior to engagement of the connector with the port. Alternatives include a position sensor to determine the general distance of the connector from the port, and an orientation sensor to determine the orientation of the connector relative to the port. The system further includes a signal generator to provide at least one user-detectable signal representative of one or more of the proximity, position and orientation of the connector relative to the port to assist a user in engaging the connector with the port.

BACKGROUND

The present disclosure relates generally to methods and apparatus for determining the relative positions of connectors, and more particularly relates to methods and apparatus for identifying the relative position and orientation of an external connector relative to an integrated connector, such as on a computing system.

Electronic devices, such as laptop computers, desktop computers, personal digital assistants (PDAs), portable music players, as just some examples, often include one or more connectors in the form of ports or sockets to receive a mating connector through which to communicate with or through an external device. Such connectors on the electronic devices include power interface connectors, as well as connectors for various I/O ports, including, for example, Ethernet jacks (such as an RJ-45 connector), telephone jacks (such as an RJ-11 connector), universal serial bus (USB) ports, various configurations of IEEE 1394 interfaces, video inputs and outputs, display interfaces, audio inputs and outputs, and other interfaces. The external devices, whether cables, dongle or discrete devices, will include mating connectors configured to mate with the connectors on the electronic device. Examples of discrete devices including such connectors include USB memory drives (known as “thumb drives”), cameras with USB or IEEE 1394-compliant connectors, or any of many other devices that may attach directly to such an electronic device. For clarity in the disclosure herein, unless otherwise indicated, the connector on the electronic device in the discussed examples will be referred to as a “port,” while the connector on the external device will be termed a “connector.” Those skilled in the art will understand that both the “port” and the “connector” are each physical connectors configured to cooperatively engage one another to establish some degree of a mechanical connection and either an electrical or optical connection.

Sometimes, computers and other electronic devices may have ports that can be difficult to identify, whether it is because the particular port is located in a hard-to-see place (such as on the back or the side of a machine) or because particular port types can be difficult to distinguish from one another by reason of their physical similarity (such as audio input and audio output ports; or USB ports and IEEE 1394 400 ports. Further, in some instances, the user may have difficulty seeing the particular connectors because of the location of the port or because the particular user may have vision problems that make such ports difficult to see and identify.

Additionally, it can sometimes be difficult to distinguish a correct orientation of a connector for properly inserting the connector into a host port. Often, a user may try a first orientation and, if the connector doesn't fit, try another orientation. However, such trial and error techniques can be frustrating to a user and may result in damage, for example, to the connector, the port, or both. Therefore, there is a need for an improved system to facilitate connection of external devices to a host device.

SUMMARY

A system is disclosed that includes a plurality of ports and a proximity detection circuit to detect a position of a connector relative to at least one of the ports adapted to receive the connector. The system further includes a signal generator configured to provide at least one user-detectable signal representing a position parameter of the connector relative to the selected port. In some examples, the system also includes an orientation detection mechanism configured to detect an orientation of the connector relative to the port, which orientation may be communicated by the user-detectable signal.

The system may use either that same sensor or another one to determine what type of connector is present, and to identify one or more available ports that are compatible with the type of connector. In an example, the computing system uses a magnetometer, a Hall Effect sensor, or another sensor adapted to measure a magnetic field to detect a field strength and orientation related to a magnet embedded within the external connector. The embedded magnet is an electromagnet or a bar magnet, for example. In another example, the computing system uses a radio frequency identifier (RFID) reader and a corresponding RFID tag embedded in the connector to detect a connector type. In some examples, the RFID reader uses strength and orientation information related to the RFID signal to determine the position and/or orientation of the connector. In yet another example, both magnetic fields and radio frequency communications are used. In some examples, the RFID sensing system will be used to identify the proximity of a connector, and then another sensing system, such as the indicated magnetic-based system will be used to provide position and orientation information.

In some examples, the user-detectable signal includes illumination of selected light emitting diodes (LEDs), presentation of audio signals, presentation of visual information (such as a graphical depiction), tactile signals, or any combination thereof to assist the user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1C depict an example of a computing system having a plurality of ports implementing one example of a system for determining the relative positions of connectors.

FIG. 2 depicts the system of FIG. 1, in block diagram form.

FIG. 3 depicts, in block diagram form, one example of a signal/field generator that may be used with the system depicted in FIGS. 1A and 2.

FIG. 4 depicts a flow diagram of one example of a method of detecting, identifying, orienting, and providing data related to a connector-to-port connection process, which may be implemented using the example systems depicted in FIGS. 1A-3.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawings that depict various details of examples selected to show how particular embodiments may be implemented. The discussion herein addresses various examples of the inventive subject matter at least partially in reference to these drawings and describes the depicted embodiments in sufficient detail to enable those skilled in the art to practice the invention. Many other embodiments may be utilized for practicing the inventive subject matter than the illustrative examples discussed herein, and many structural and operational changes in addition to the alternatives specifically discussed herein may be made without departing from the scope of the inventive subject matter.

In this description, references to “one embodiment” or “an embodiment,” or to “one example” or “an example” mean that the feature being referred to is, or may be, included in at least one embodiment or example of the invention. Separate references to “an embodiment” or “one embodiment” or to “one example” or “an example” in this description are not intended to necessarily refer to the same embodiment or example; however, neither are such embodiments mutually exclusive, unless so stated or as will be readily apparent to those of ordinary skill in the art having the benefit of this disclosure. Thus, the present disclosure includes a variety of combinations and/or integrations of the embodiments and examples described herein, as well as further embodiments and examples as defined within the scope of all claims based on this disclosure, as well as all legal equivalents of such claims.

For the purposes of this specification, a “computing device,” “computing system,” a “processor-based system” or “processing system” includes a system that uses one or more processors, microcontrollers and/or digital signal processors and that has the capability of running a “program.” As used herein, the term “program” refers to a set of executable machine code instructions, and as used herein, includes user-level applications as well as system-directed applications or daemons, including operating system and driver applications. Processing systems include communication and electronic devices, such as mobile phones (cellular or digital), music and multi-media players, and Personal Digital Assistants (PDA); as well as computers (or “computing devices” or “computing systems”) of all forms (desktops, laptops, servers, palmtops, workstations, etc.). Further, it should be understood that, in some embodiments, the computing system includes multiple computing devices, and associated processing functionality may be distributed among the server devices.

Referring now to FIGS. 1A and 1B, therein is depicted an example system 100 including a computing device 102 having a plurality of ports and configured to communicate with a display 104, which can be coupled to one of the plurality of ports (via a display connector, not shown), such as display port 120 or 122. In the depicted example, computing device 102 is depicted in the basic form of a Mac mini™ computer, which is commercially available from Apple Inc. of Cupertino, Calif. Computing device 102 includes circuitry to identify a connector of an external device 135. In this example, external device 135 is a USB flash memory device including a USB connector 134.

In this example, computing device 102 is configured to detect an orientation of external device 135 and therefore of associated connector 134, and to provide a visual representation of a state of a connection process (including position and orientation information associated with external device 135) through display 104.

Computing device 102 includes a power button 106 that is accessible by a user to activate a power supply to turn on computing device 102. In some instances, power button 106 will be used to turn off the power supply or to place computing device 102 into a sleep or standby mode. In other instances, computing device 102 will be turned off via software controls.

Computing device 102 also includes a plurality of ports 108, 116, 118, 120, 122, and 124. The ports can have a particular size, shape, or any combination thereof that is unique or known for the particular type of connection. Computing device 102 includes a power port 108 to receive a connector of a power cable (not shown). Further, computing device 102 includes an Ethernet port 116 to receive a device (typically an Ethernet cable) having an RJ-45 connector. Computing device 102 also includes an IEEE 1394 (“FireWire”™) port 118 configured to receive a cable or other device having an appropriate IEEE 1394-compliant connector. Audio input and output ports 112 and 114 can be tip-ring-sleeve (TRS) connectors or variations thereof, such as a tip-ring-ring-sleeve (TRRS) connector, a tip-sleeve (TS) connector, or any other audio connectors. In some examples, computing device 102 will further include an imaging device (such as a camera) with a lens 136 arranged to capture images proximate one or more of the ports, which images show an external device 135 proximate the ports.

Display ports 120 and 122 are configured to receive a connector, typically on a cable or dongle (a short cable or extender device, typically only a few inches in length) for coupling to a display device, such as a flat panel display, a cathode ray tube monitor or another type of display device. In this example, each video port 120 is a digital video interface: video port 120 is a Mini DisplayPort™ and video port 122 is a Mini-DVI port. In other examples, other types of display ports may be used, including VGA, DVI, etc. Additionally, a port such as an HDMI port may be included, which can carry video information as well as audio and other information and signals as known to those skilled in the art.

In some examples, computing device 102 will also include a plurality of LEDs 126, each of which may be associated with a particular port. For example, a particular LED 128 is associated with and positioned directly above or adjacent to a particular USB port at 129. In an embodiment, the plurality of LEDs 126 may be positioned with each directly above one of the ports 108, 116, 118, 120, 122, and 124. As noted previously, in this example, computing device 102 also includes an imaging device with a lens 136, which may be used to capture one or more images of objects, such as external device 135, proximate the ports. In the depicted example, there are no LEDs above the audio input and output ports 112 and 114, but LEDs could be included proximate audio input and output ports 112 and 114, in other examples. In some examples, it may be useful to provide LEDs 126 with distinct colors and/or shapes dependent upon the type of port with which a particular LED is associated. Additionally, multiple LEDs, for example of different colors, might be used proximate a port, such that approaching the port with the correct external device and/or the correct orientation of the device could be used to actuate the different LEDs to provide a color coded signal of the attmpyed connection process to the user.

Computing device 102 includes a processor and memory accessible to the processor, wherein the memory is configured to permanently or temporarily store data and software instructions. The instructions are executable by the processor to perform a variety of functions, including, but not limited to, reproducing audio and video information, word processing, image processing, programming, audio and video processing, other functions, or any combination thereof. Further, at least one set of instructions stored in the memory will be executable by the processor to use data as described herein, including, for example, proximity data, orientation data, image data, audio output data, and graphical user interface data, to provide visual and/or audio feedback to assist a user in coupling a connector to one of the ports.

Computing device 102 includes one or more sensors to detect the proximity of an external device, such as external device 135, before the device is coupled to one of the plurality of USB ports 124 of computing device 102. In this example, computing device 102 also includes one or more sensors configured to determine a relative position, and preferably also orientation, of the external device relative to a particular port. In one example, computing device 102 includes a radio frequency identifier (RFID) transceiver and one or more associated antennas (not depicted) to communicate with an RFID tag embedded in an external device, in this example, RFID tag 164 within external device 135. In this example, the external device also includes a magnet 160 arranged in a known orientation relative to the external device connector 134; and computing device 102 includes a magnetic field sensing device 162, such as, for example, a magnetometer or a Hall effect sensor, to detect a magnetic field generated by the external device magnet 160. In other examples, the magnetic field could be either temporarily or continuously generated in computing device 102, and external device might include a structure configured to influence the magnetic field to enable detection of the external device.

In the present example, the RFID transceiver within the computing device 102 will periodically emit a polling signal proximate computing device 102 to solicit responsive signals from an RFID tag 164 associated with an external device within a RFID field area proximate the computing device. The RFID transceiver will emit a polling signal in accordance with a determined protocol, and the RFID tag 164 will respond with a response protocol including one or more data fields to provide data identifying information regarding connector 134 and/or the port configuration it is intended to engage. By way of example, the protocol will preferably include data fields that directly or indirectly identify one or more of: the type of external device 135 or connector 134; a name of the external device; and an identifier of either the connector or the port type that the connector will engage. In some examples, sensed information from the transmission by the RFID tag 164 may be used to provide a general indication of the proximity of external device 135 or associated connector 134. In many such examples, the detection of the proximity of an external device through an RFID signal will be used to “wake up” the system, for another sensor configuration to determine one or more position indicators. However, in some applications, it should be possible to use two or more RFID transceivers to triangulate to derive a position indicator for the external device.

In one preferred method of using the depicted computing device 102, at some point after the proximity of the external device or connector is identified, magnetic field sensing device 162 will preferably be activated to more precisely determine proximity to the appropriate port, and, preferably to also determine the orientation of external device connector 134. As noted above, in the depicted example, the external device includes a magnet 160 in a pre-established orientation to connector 134. A sensor such as a Hall effect sensor can detect the orientation and strength of the magnetic field, and that information can be processed to determine both the approximate distance between connector 134 and port 129, and the relative orientation of connector 134 relative to port 129. As described below, those determinations can be used to implement one or more other systems to assist the user to engage connector 134 with port 129.

For example, once the connector type is determined, the computing device 102 identifies an available port of the appropriate type (i.e., a port that is unused, unassigned, and compatible with the connector), such as, in this example, USB port 129. In some examples, computing device 102 will selectively illuminate an associated LED, such as LED 128 to prompt a user to insert the connector 134 of external device 135 into the appropriate USB port 129. In some instances, the illumination of the LED 128 may provide adequate light to assist a user in locating the selected USB port 129. One possible variation on that example is for the computing device 102 to vary the brightness of LED 128 as connector 134 gets closer to USB port 129. In other variations, computing device 102 may vary the brightness as the orientation of the connector 134 approaches a correct orientation relative to USB port 129.

Other user assistance features may be used in addition to, or in lieu of, illuminating LED 128. As depicted in the example of FIG. 1A, both the position and orientation of connector 134 relative to port 128 will be determined. Various methods of signaling the position may be used. As one example, computing device 102 will utilize a graphical user interface (GUI) generator to produce a user interface 140 portraying a graphical or other visual representation 154 of the external device 135 and/or connector 134 relative to a representation 144 of USB port 129. Additionally, in some implementations, user interface 140 will provide either graphical or textual orientation instructions 146 and 148 as to how to correctly orient and position the external device connector 134 relative to USB port 129. Such instructions include visual representations of tasks to be performed, including video data, image data, text instructions, or any combination thereof.

In some examples, the position and orientation information will be updated in real-time or near real-time and the corresponding representations 144 and 154 will be updated with respective changes to dynamically alter the visual representations 144 and 154 and/or the associated instructions 146 and 148. In another example, the visual representations 144 and/or 154 within the user interface 140 will include images captured by the imaging device associated with lens 136 to provide further positioning information.

In another particular example, instead of or in addition to the visual representations 144 and 154 depicted within user interface 140, it may be desirable to provide an audible indicator related to at least one of the position and orientation of connector 134 relative to USB port 129. In one example, the audible indicator includes a beeping noise having one or more of a variable frequency, amplitude, or pitch, which will vary based on the proximity of the external device 135 relative to USB port 129. As an alternative, the audible indicator may include spoken instructions related to the orientation and position of connector 134 relative to USB port 129, such as spoken instructions to turn or otherwise change a current trajectory and/or position of external device 135 (and thus connector 134) relative to USB port 129. For example, the spoken instructions will correspond to text-based instructions within user interface 140, such as an audible instruction to “Rotate the external device clockwise by 90 degrees.”

In still another example, referring specifically to FIG. 1C, therein is a shown an alternative embodiment of an external device 135′ External device 135′ is similar in many respects to external device 135, and thus has been designated as 135′ with components similar to those of external device 135 of FIG. 1B numbered identically to that figure. Unlike external device 135, external device 135′ includes light emitting diode (LED) 184 and a haptic actuator 186. LED 184 will be used to provide visual feedback to a user. For example, LED 184 may be turned on and off to indicate proximity and/or orientation relative to port 129. For example, frequency of illumination or brightness of LED 184 will be varied as external device 135′ is moved closer to port 129. In an alternative example, LED 184 flashes on and remains illuminated when a correct orientation of external device 135′ relative is achieved and maintained relative to port 129.

Further, in this example, external device 135′ includes actuator 186 configured to provide haptic feedback, such as a detectable vibration, which may increase in magnitude as external device 135′ approaches port 129. Alternatively, actuator 186 will vibrate when within range of the RFID polling signal and when external device 135′ is in an incorrect orientation relative to port 129, and will cease vibrating when a correct orientation is achieved. It is possible for external device 135′ to include a battery to power either or both of LED 184 and haptic actuator 186. Preferably, however, power will be received through the RFID tag 164 as a result of a RFID interrogation signal that induces a voltage in the tag.

Referring again primarily to FIG. 1A, therein is shown at 190, an exemplary haptic actuator 190 proximate USB port 129. Haptic actuator can be a conventional type actuator, that would preferably be mounted to an internal surface of computing device 102. In this example, haptic actuator 190 is mounted proximate port 129 to provide tactile feedback that may be specific to that port. It will be apparent that separate haptic actuators may be provided for individual ports, or one or more haptic actuators can be used to provide more generalized feedback, either alone, or in combination with other types of user-detectable signals as described herein. Although in the example haptic feedback actuator 190 is on a surface proximate the ports, in other examples it may be desirable to provide haptic feedback at a location remote from where the ports are located.

The depicted system has been described as using RFID technology to identify the proximity of a connector. However, various other technologies may be used to identify the proximity of an external device and/or to determine the orientation of that device relative to a port. For example, other relatively short-range wireless signals, such as BlueTooth® signals, may be used for either of the above determinations. Additionally, other types of detection may be used. For example, motion sensors or other types of sensors may be used to wake up RFID circuitry or magnetometer circuitry, so that such circuitry does not consume power all the time, but rather only when motion near one of the ports is detected.

Referring now to FIG. 2, FIG. 2 depicts a system 200, illustrated in block form, including a proximity detector and one or more sensors to identify a connector, to detect an orientation of the connector relative to a selected port, and to provide at least one user detectable indicator related to at least one of a position and orientation of the connector. System 200 includes computing device 102, which is coupled to a display device, such as a flat panel display device 104. Computing device -102 is also coupled to a power supply 206. In this example, the external device is as an Ethernet cable 208, adapted to engage with computing device 102. Ethernet cable 208 includes at least one, and preferably more than one, embedded signal or field generator, such as a RFID tag 164, a magnet 160, etc. Further, Ethernet cable 208 includes at least one feedback generator, such as LED 184, actuator 186, etc.

Computing device 102 includes processor 212 having access to machine-readable storage devices, such as memory 216, which stores instructions that are executable by processor 212 (such as computer programs), as well as data that is accessible to processor 212. In the depicted example embodiment, computing device 102 includes one or more data storage devices, which may be, for example, either in the form of one or more a hard disk drives and/or one or more solid state memories. Additionally, memory 216 includes one or more installations of solid-state memory, such as volatile or non-volatile memory (such as a flash memory), a read only memory (ROM), and/or other types of memory. Processor 212 is coupled to interface circuitry 214, which includes multiple ports and one or more sensor circuits. Further, processor 212 is coupled to speaker 218, to produce an audible sound signal. Additionally, in this example, processor 212 is coupled to camera 220 (or to another image capturing device) that is adapted to capture one or more images related to a detected external device, such as Ethernet cable 208.

Interface circuitry 214 includes a plurality of ports to receive device connectors. Further, interface circuitry 214 includes a respective plurality of LEDs associated with the ports. Similar to the discussion of computing device 102 of FIG. 1, interface circuitry 214 includes power port 108, an Ethernet port 116, IEEE 1394 port 118, display interface 122 coupled to LCD display device 104, one or more USB port interfaces, including the USB port interface 129, each with an associated LED 224, 228, 232, 236, 128, and 244, respectively. Interface circuitry 214 further includes at least one, and in this example a plurality of sensor systems 248, including a magnetic sensing system (such as Hall Effect sensors or magnetometers) and an RFID transceiver system. Depending on the sensing systems utilized, a separate signal control element 246 may be used to interface between the sensor systems and processor 212.

Memory 216 includes proximity detection module 252 that will be executed in cooperation with one or more of the sensor systems to detect external devices, such as Ethernet cable 108. In some instances, proximity detection module 252 will wake up other sensors, such as the RFID sensor system, while in other cases, the RFID sensor system may be used as the proximity detector. Further, memory 216 includes connection type identification module 250 and associated data, which will be executed by processor 212 in reference to data from sensor systems 248 to determine a type of connector associated with detected external devices, such as an RJ-45 connector associated with Ethernet cable 108.

The memory 216 also includes a port selection module 264, which will be executed by the processor 212 to identify one or more ports that correspond to the connection type and to select an available port from the one or more ports. In an example, port selection module 264 identifies ports that correspond to the connection type, determines which of the identified ports are currently unused, and selects a particular port from those unassigned and unused ports. Further, memory 216 includes orientation detection module 254 and associated orientation data 256, which are accessible by processor 212 to determine an orientation of a connector associated with a detected external device and to determine a desired orientation to engage the selected port. In an example, associated orientation data 256 includes data related to the position and orientation of the selected port.

Memory 258 also includes signal generator module 258, such as graphical user interface (GUI) generator module 260, to generate visual signals for display on display device 204 and audio generator module 262 to produce audio data for playback through speaker 218. As described earlier herein, in some examples, the audio data includes sound pulses that vary in frequency, pitch, volume, or any combination thereof based on a distance and/or orientation of the connector relative to the selected port. In another example, the audio data includes spoken instructions that will vary based on the distance and/or orientation of the connector. Memory 258 also includes camera controller module 266 that is executable by processor 212 to control operation of camera 220. In an embodiment, camera controller module 266 will cause camera 220 to capture images or video associated with the positioning of the external connector.

As is apparent form the above description, certain systems, apparatus or processes are described herein as being implemented in or through use of one or more “modules.” A “module” as used herein is an apparatus configured to perform identified functionality through software, firmware, hardware, or any combination thereof. When the functionality of a module is performed in any part through software or firmware, the module includes at least one machine readable medium bearing instructions that when executed by one or more processors, performs that portion of the functionality implemented in software or firmware. Where the description makes reference to certain functionality being performed by a “circuit” it should be clearly understood that any such functionality may alternatively be implemented, at least in part, though software or firmware.

It should be understood that modules 250, 252, 254, 258, 260, 262, 264, and 266 are depicted for illustrative purposes only. Not all of the modules may be needed in every implementation. Further, in some instances, modules may be combined and other modules may be added. For example, in an embodiment, the camera controller module 266 may be firmware within camera 220. Further, in another embodiment, proximity and orientation detection modules 252 and 254 may be implemented as logic circuitry, such as in an ASIC, to provide position and orientation information to processor 212, which will use the signal generator 258 to provide feedback to a user.

FIG. 3 depicts a RFID interrogator system 300, illustrated in block diagram form. RFID interrogator system 300 will preferably be used with a host system, for example, as part of the one or more sensor systems 248, in this example to serve as the proximity detector 252 of the computing device of FIG. 2. RFID interrogator system 300 will interface with other circuitry of a host system through host interface 314.

RFID interrogator system 300 includes an antenna 308 coupled to interrogator circuitry 306, which includes transceiver circuitry. Interrogator circuitry 306 is coupled to a control circuit 310, such as a microcontroller. In an alternative embodiment, in place of a dedicated microcontroller as pictured, the processor of a host system (processor 212 of FIG. 2) may be utilized to provide the control functionality. Control circuit 310 is coupled to host interface 314, which can be coupled to a host system via a communications link (serial, USB, or otherwise) to communicate with the host system.

Interrogator circuitry 306 drives the reader coil 308 to produce an RFID polling signal, as described earlier herein, and to receive responses to the polling signal from an RFID tag within the RF field. As will be apparent to those skilled in the art, the present system will typically be implemented with passive RFID tags in the external devices. Such passive tags do not require batteries or other power sources, but receive the energy to transmit their response signals from the interrogator polling signal. In some examples, the initial interrogator polling signal will be a relatively low power signal, which will generate a relatively low power response signal from the RFID tag. When the low power response signal is received by the interrogator, the interrogator will then generate a higher power signal for use by the RFID tag to return additional data in accordance with the selected protocol. Interrogator circuitry 306 communicates information related to the received response RFID tag signal to the microcontroller 310 for further processing.

In some variations on the above example, microcontroller 310 may directly control interrogator circuitry 306 and also control actuation of one or more LEDs 312. In portable devices, conserving power when the devices are operating on battery power is always a concern. Where RFID interrogator system 300 is used in such a portable devices, several possible alternatives may be used to conserve power. As one example, microcontroller 310 will include an adaptive timing control feature to periodically enable the RF reader circuitry 306, so that the RF reader circuitry 306 does not operate continuously.

Additionally, as described earlier herein, the RFID interrogator system can be used as the proximity sensor to determine if an external device with a RFID tag is proximate the system. As the range of proximity for which detection is needed will typically be relatively limited, for example, ranging from a few inches to a couple of feet in many examples, the interrogator can broadcast relatively low power polling signal, and thus the energy requirements are fairly conservative. However, in many systems, it may be preferred to absolutely minimize energy usage, and thus another even lower power initiating system may be used to initialize the RFID interrogator system. In the depicted example, a proximity detector 316 is included within the RFID interrogator system 300 to “wake up” or initialize at least one of interrogator circuitry 306 and the microcontroller 310. A magnetic field sensor as described earlier herein is one possible system for providing such proximity detection. However, other alternatives may be used that are not tied to sensing the external device, but instead might sense the presence of the hand of a person holding the external device, through use of, for example, a capacitance sensor or other similar device. As another alternative, a user seeking to attach an external device might instruct the host system through a hardware or software-initiated input to “wake up” and thus to begin looking for such a device.

FIG. 4 depicts a flow diagram 400 of an illustrative embodiment of a method of detecting, identifying, orienting, and providing data related to a connector-to-port connection process. At 402, an external connector is detected that is proximate to an interface of a system including a plurality of ports. In this example, as discussed earlier herein, the external connector includes an embedded magnet and an embedded radio frequency identifier (RFID) tag. The external connector is part of an external device, such as, for example, any of the previously-described examples of a USB cable, an Ethernet cable, a power cable, an audio input or output cable, a display device cable, directly connected device (such as a USB flash memory device), or some other device adapted to directly couple to a host system. At 404, the type of external connector is identified. As discussed above, in some examples, the type of connector will be determined through use of an RFID polling system within or associated with the host system, and from data returned from a passive RFID tag polled by the polling signal.

Continuing to 406, a position and orientation of the external connector is determined relative to a particular port of the system. In this example, the position and orientation will be determined based one or more a magnetic field properties. In an example, the system includes a plurality of ports, and an appropriate port is selected based on the external connector type. For example, after the connector type is identified, the system identifies one or more ports of the plurality of ports that are compatible with the particular connector type. Once identified, the system determines whether any of the compatible ports are both available and unassigned. When there is an available port, the system selects a compatible port to receive the connector.

At 408, in some embodiments, an LED proximate the selected port will be activated in response to the selection to provide a visual indicator for a user, indicating which port of the plurality of ports should be used with the particular external connector. Additionally, as discussed earlier, in some examples, the LED is managed to control the brightness of the illuminated LED as the connector approaches the port, or approaches a correct orientation. Moving to 410, proximity and orientation data are provided to a processor for generation of a connection-aiding signal. As one example, this may be in the form of a graphical user interface (GUI) representing a connection process to assist a user in completing the physical connection. In an example, such as the user interface 140 depicted in FIG. 1, the GUI includes image data, text instructions and/or other visual instructions to assist a user in completing a connection between the available port and an external device. Proceeding to 412, the GUI is provided to a display device. As noted previously, the connection-aiding signal can include LEDs, audio signals, graphical user interface images and instructions, or any combination thereof.

At 414, an updated position and orientation of the external connector is determined relative to the particular port. At 416, if the external connector is connected, the method advances to 420, and the method is terminated. Returning to 416, if the external connector is not connected to the port, the method proceeds to 418 and the updated position and orientation data are provided to the processor to modify the GUI to represent an updated state of the connection process. The method returns to 412 and the GUI can be provided to the display device.

In the illustrative example of FIG. 4, it is assumed that the output representing the connection process is provided via a graphical interface. However, as previously discussed, the output may be provided as an audio output in addition to, or instead of, the visual output. In this instance, at 410, the processor may also generate an audio output representing actions to be undertaken by a user to complete the connection process. In this example, at 412, the audio information is provided to a speaker for audio production. Again as previously discussed, in some examples the audio information includes an audio signal having a frequency, amplitude, or other parameter that changes as the external connector approaches the port or as the external connector is adjusted to a correct orientation. The audio information may also include spoken instructions for completing the connection. Additionally, as identified earlier herein, the feedback may be tactile, such as a vibratory signal, that may be conveyed to a user through either the external device, or through a surface of the system which the external device will engage. As noted previously the surface may be one proximate the port, or a separate, potentially more easily accessible, surface.

In conjunction with the systems and methods described above and depicted with respect to FIGS. 1A-4, a computing system is disclosed that includes a proximity detector and one or more additional sensors to detect a cable that is close to one or more ports. The one or more sensors are used to determine a type of connector, a position of the connector relative to a particular port, and preferably to also determine an orientation of the connector relative to the port. Further, the computing system dynamically determines which port to use based on the type of connector and based on the availability of an unused and unassigned, compatible port. In some examples, the computing system is configured to provide a graphical user interface representing position and/or orientation of the external connector relative to a selected port. Additionally, in some examples, the computing system is configured to provide an audible signal providing information related to the position and/or orientation of the external connector relative to the selected port. In yet additional examples, the computing system is configured to illuminate an associated LED to provide a visual indicator of the port to use and may also vary a brightness or actuation of the LED to represent position and/or orientation of the external connector relative to a selected port

The described techniques may be used with additional sensor signals, or measurements derived from such signals to refine detection of events creating data extraneous to the movement and other positioning information. Accordingly, the present invention should be clearly understood to be limited only by the scope of the claims based on this disclosure and the equivalents of such claims. 

We claim:
 1. A computing system, comprising: a plurality of ports; a proximity detection mechanism configured to detect the presence of a connector proximate to at least one port of the plurality of ports before engagement of the connector with the port; an orientation detection mechanism configured to determine an orientation of the connector relative to the at least one port; and a signal generator configured to provide at least one user-detectable signal identifying the proximity of the connector to the at least one port.
 2. The computing system of claim 1, wherein the proximity detection mechanism comprises a radio frequency identification (RFID) transceiver configured to receive a signal from an RFID tag associated with the connector.
 3. The computing system of claim 2, wherein the RFID tag is coupled to an external device having the connector, and wherein the RFID transceiver is configured to receive an RFID signal that comprises data indicative of the type of the connector on the external device.
 4. The computing system of claim 1, further comprising: a magnetic sensor adapted to determine a position parameter and an orientation parameter associated with a magnetic field of the engageable connector; a position detection module configured to utilize the position parameter to identify an approximate position of the engageable connector relative to the at least one port; and an orientation detection module configured to utilize the orientation parameter to determine the approximate orientation of the engageable connector relative to the at least one port.
 5. The computing system of claim 1, further comprising: a Hall effect sensor configured to determine electrical potential differences across electrical conductors proximate at least one port, the sensor configured to measure at least one characteristic of a magnetic field affected by a connector proximate at least one of the ports; and a position detection module configured to utilize the position parameter to identify an approximate position of the engageable connector relative to the at least one port based on the determined electrical potential differences.
 6. The computing system of claim 1, further comprising a display device; and wherein the signal generator comprises a graphical user interface (GUI) generator module configured to generate a graphical user interface including the at least one user-detectable signal for display on the display device.
 7. The computing system of claim 6, further comprising a camera adjacent to the plurality of ports arranged to capture one or more images of the engageable connector relative to the at least one port.
 8. The computing system of claim 1, further comprising a speaker; and wherein the signal generator comprises an audio generator to produce the at least one user-detectable signal as an audio signal, and wherein the signal generator and speaker are cooperatively coupled to communicate the audio signal to the speaker.
 9. The computing system of claim 8, wherein the audio generator is configured to generate audible instructions for positioning the connector relative to the at least one port.
 10. The computing system of claim 1, further comprising: a plurality of light emitting diodes (LEDs), each LED associated with a respective port of the plurality of ports; and a LED module configured to activate a particular LED associated with the at least one port to provide the at least one user-detectable signal identifying the at least one port.
 11. The computing system of claim 10, wherein the LEDs associated with a first port type are a different color from LEDs associated with a second port type.
 12. The computing system of claim 10, wherein the user-detectable signal comprises the color of light from an LED module.
 13. A method of identifying a position of a connector prior to engagement with an electronic device, comprising the acts of: detecting a position of a connector relative to at least one port of a plurality of ports of the electronic device using a proximity detection circuit, the at least one port adapted to receive an engageable connector; determining an orientation of the connector relative to the orientation of at least one port; and providing at least one user-detectable signal representing a position parameter of the engageable connector relative to the at least one port.
 14. The method of claim 13, wherein the act of providing the at least one user-detectable signal comprises generating an audio signal including audio information related to the position parameter.
 15. The method of claim 13, wherein the act of providing the at least one user-detectable signal comprises generating a graphical user interface comprising visual data related to the position parameter.
 16. The method of claim 15, further comprising the act of providing the graphical user interface to a display device associated with the electronic device.
 17. The method of claim 13, further comprising the act of detecting an orientation parameter of the engageable connector relative to the at least one port using an orientation detection circuit; and wherein the at least one user-detectable signal comprises information related to the orientation parameter.
 18. The method of claim 13, wherein the act of providing the at least one user-detectable signal comprises selectively varying a brightness of a light emitting diode (LED) adjacent to the at least one port; and wherein the brightness is varied as a function of the position parameter.
 19. The method of claim 13, wherein the act of providing the at least one user-detectable signal comprises generating a haptic feedback signal.
 20. The method of claim 19, wherein the haptic feedback signal is a vibratory signal generated at a surface of the electronic device.
 21. The method of claim 19, wherein the haptic feedback signal is a vibratory signal generated proximate the engageable connector.
 22. A machine-readable data storage medium embodying instructions that, when executed by at least one processor, perform operations comprising: detecting the position of a connector relative to at least one port of an electronic device; detecting an orientation of the connector relative to the port; and providing at least one user-detectable signal representative of the relative position of the connector relative to the at least one port.
 23. The data storage medium of claim 22, wherein the instructions when executed by at least one processor further perform operations comprising: providing at least a second user-detectable signal representing an orientation parameter of the connector relative to the at least one port.
 24. The data storage medium of claim 22, wherein the instructions when executed by at least one processor further perform operations comprising generating a graphical user interface including data related to at least one of the position of the connector and the orientation of the connector.
 25. A processing system, comprising: at least one processor; at least one machine-readable storage medium in operative communication with the processor; a plurality of ports; a detection mechanism configured to identify the presence of a connector proximate, but not engaging, the processor system; a position detection mechanism configured to detect a position of the connector relative to at least one port of the plurality of ports; an orientation detection mechanism configured to detect an orientation of the connector relative to the at least one port; and a signal generator configured to provide at least one user-detectable signal representative of at least one of a relative position of the connector relative to the port and a relative orientation of the connector relative to the at least one port.
 26. The system of claim 25, further comprising a plurality of LEDs, each LED proximate to a respective port of the plurality of ports and responsive to the signal generator to produce the at least one user-detectable signal.
 27. The system of claim 25, further comprising a display device responsive to the signal generator to display a graphical user interface including the at least one user-detectable signal.
 28. The system of claim 25, further comprising a speaker responsive to the signal generator to produce an audible sound representing the at least one user-detectable signal. 